Powoduje pobranie z bazy danych przez aparat baz danych Microsoft Jet informacji w postaci zestawu rekord≤w.
SELECT [predykat] { * | tabela.* | [tabela.]pole1 [AS alias1] [, [tabela.]pole2 [AS alias2] [, ...]]}
FROM wyra┐enie_tabelowe [, ...] [IN zewnΩtrzna_baza_danych]
[WHERE... ]
]
[GROUP BY... ]
]
[HAVING... ]
]
[ORDER BY... ]
WITH OWNERACCESS OPTION;
Sk│adnia instrukcji SELECT zawiera nastΩpuj╣ce elementy:
Element | Opis |
---|---|
predykat | Jeden z nastΩpuj╣cych predykat≤w: ALL, DISTINCT, DISTINCTROW lub TOP. Predykat s│u┐y do ograniczenia liczby zwracanych rekord≤w. Je£li nie podano ┐adnego predykatu, domy£lnie przyjmuje siΩ predykat ALL. |
* | Wskazuje, ┐e wybrane maj╣ byµ wszystkie pola z podanej tabeli lub tabel. |
tabela | Nazwa tabeli zawieraj╣cej pola, kt≤re sk│adaj╣ siΩ na rekordy bΩd╣ce wynikiem instrukcji. |
pole_1, pole_2 | Nazwy p≤l zawieraj╣cych dane, kt≤re maj╣ byµ pobrane. Je£li podano kilka p≤l, s╣ one pobierane w kolejno£ci podanej na li£cie. |
alias1, alias2 | Nazwy, kt≤re zostan╣ u┐yte jako nag│≤wki kolumn w miejsce nazw kolumn z tabeli. |
wyra┐enie_tabelowe | Nazwa tabeli lub tabel z kt≤rych maj╣ byµ pobrane dane. |
zewnΩtrzna_baza_danych | Nazwa bazy danych zawieraj╣cej tabele wymienione w wyra┐eniu_tabelowym, o ile nie znajduj╣ siΩ one w bie┐╣cej bazie danych. |
Realizuj╣c tΩ operacjΩ, aparat bazy danych Microsoft« Jet przeszukuje wskazan╣ tabelΩ lub tabele, pobiera okre£lone kolumny, wybiera wiersze spe│niaj╣ce podane kryterium wyboru, po czym sortuje lub grupuje te wiersze zgodnie z okre£lonym w instrukcji porz╣dkiem.
Instrukcje SELECT nie zmieniaj╣ danych w bazie danych.
S│owo SELECT jest zazwyczaj pierwszym s│owem instrukcji SQL. WiΩkszo£µ instrukcji SQL to albo instrukcje SELECT, albo instrukcje SELECT...INTO.
Minimalna postaµ sk│adni instrukcji SELECT jest nastΩpuj╣ca:
SELECT pola FROM tabela
Aby wybraµ wszystkie pola z tabeli, nale┐y u┐yµ znaku gwiazdki (*). W poni┐szym przyk│adzie wybierane s╣ wszystkie pola z tabeli Pracownicy:
SELECT * FROM Pracownicy;
Je£li dana nazwa pola wystΩpuje w kilku tabelach wymienionych w klauzuli FROM, nale┐y tΩ nazwΩ pola poprzedziµ nazw╣ tabeli i operatorem . (kropka). W kolejnym przyk│adzie pole Dzia│ wystΩpuje zar≤wno w tabeli Pracownicy, jak i w tabeli Kierownicy. Instrukcja SQL pobiera dzia│y z tabeli Pracownicy i nazwiska kierownik≤w dzia│≤w z tabeli Kierownicy:
SELECT Pracownicy.Dzia│, Kierownicy.NazwiskoKierownika
FROM Pracownicy INNER JOIN Kierownicy
WHERE Pracownicy.Dzia│ = Kierownicy.Dzia│;
Przy tworzeniu obiektu Recordset, aparat bazy danych Microsoft Jet u┐ywa nazwy pola tabeli jako nazwy obiektu Field w obiekcie Recordset. Je┐eli chcesz nadaµ inn╣ nazwΩ polu, lub gdy nazwa nie jest zasugerowana przez wyra┐enie u┐yte do utworzenia pola, u┐yj s│owa zastrze┐onego AS. W poni┐szym przyk│adzie s│owem Urodz nazwano obiekt typu Field w wynikowym obiekcie Recordset:
SELECT DataUrodzenia
AS Urodz FROM Pracownicy;
W ka┐dym przypadku u┐ycia funkcji agreguj╣cych lub kwerend daj╣cych w wyniku niejednoznaczne lub powtarzaj╣ce siΩ nazwy obiekt≤w Field, nale┐y za pomoc╣ klauzuli AS podaµ inn╣ nazwΩ obiektu Field. W poni┐szym przyk│adzie s│owo Licznik s│u┐y do nadania nazwy zwracanemu przez kwerendΩ obiektowi Field w wynikowym obiekcie Recordset:
SELECT COUNT(NrPracownika)
AS Licznik FROM Pracownicy;
Pozosta│e klauzule instrukcji SELECT s│u┐╣ do ograniczania i organizowania danych zwracanych przez kwerendΩ. WiΩcej informacji znajduje siΩ w temacie pomocy klauzuli, kt≤rej u┐ywasz.
SELECT - instrukcja, FROM û przyk│ad klauzuli